document.addEventListener("DOMContentLoaded", function () {
    fetch('navbar.html')
        .then(response => response.text())
        .then(data => {
            document.getElementById('navbar').innerHTML = data;
            setActiveNavLink();
        });
});

function setActiveNavLink() {
    const currentPage = window.location.pathname.split('/').pop();
    const navLinks = document.querySelectorAll('.menu-hover-color');
    navLinks.forEach(item => {
        // if (link.getAttribute('href') === currentPage) {
        //
        //     link.classList.add('selected-ones');
        // }

        // 获取 div 内的 a 标签
        const link = item.querySelector('a');
        if (link) {
            // 获取 a 标签的 href 属性
            const url = new URL(link.href);
            // 获取 URL 的路径部分并分割成数组
            const pathParts = url.pathname.split('/');
            // 获取最后一个部分, 即文件名
            const fileName = pathParts[pathParts.length - 1];
            // 检查文件名是否存在
            if (fileName === currentPage) {
                // 为 div 元素添加 .nav 类
                item.classList.add('selected-ones');
            }
        }
    });
}

function resetToDefaultValue(inputId, defaultValue, input_, if_floor = false) {
    const input = document.getElementById(inputId);
    const value = input_.value;
    const if_floor_ = if_floor;

    // 检查输入值是否为数字
    const isNumber = !isNaN(value) && value.trim() !== '';

    if (isNumber) {
        // 如果输入值是浮点数, 转换为整数
        if (if_floor_ !== true) {
            input.value = Math.floor(parseInt(value, 10));
        }

        // 如果输入框为空或输入为字符串 '0', 则设置为默认值
        if (input.value === '' || input.value === '0' || input.value >= 4096) {
            input.value = defaultValue;
        }
    } else {
        // 如果输入值不是数字, 使用不同的判断方法
        if (input.value === '') {
            input.value = defaultValue;
        }
    }
}

function resetToDefaultValueForText(inputId, defaultValue, input_) {
    const input = document.getElementById(inputId);
    const value = input_.value;

    // 检查输入值是否为数字
    const isNumber = !isNaN(value) && value.trim() !== '';

    if (isNumber) {
        // 如果输入值是数字, 转换为整数
        input.value = Math.floor(parseInt(value, 10));

        // 如果输入框为空或输入为字符串 '0', 则设置为默认值
        if (input.value === '' || input.value <= '0') {
            input.value = defaultValue;
        }
    } else {
        // 如果输入值不是数字, 使用不同的判断方法
        if (input.value === '') {
            input.value = defaultValue;
        }
    }
}

function resetToDefaultValueForText2(inputId, defaultValue, input_) {
    const input = document.getElementById(inputId);
    const value = input_.value;

    // 检查输入值是否为数字
    const isNumber = !isNaN(value) && value.trim() !== '';

    if (isNumber) {
        // 如果符合条件, 则设置为默认值, 最大支持10800s(3h)
        if (input.value === '' || input.value <= '1' || input.value >= 10800) {
            input.value = defaultValue;
        }
    } else {
        // 如果输入值不是数字, 使用不同的判断方法
        if (input.value === '') {

            input.value = defaultValue;
        }
    }
}

// function clearTextInput(inputId, input_) {
//     const input = document.getElementById(inputId);
//     input_.value = '';
// }

function selectedTextInput(inputId) {
    const input = document.getElementById(inputId);
    input.select();
}

function toggleModal(modalId, action) {
    const modal = document.getElementById(modalId);
    if (action === 'show') {
        modal.style.display = 'flex';
        modal.classList.remove('hide');
        modal.offsetWidth; // 强制重绘
        modal.classList.add('show');
    } else {
        modal.classList.add('hide');
        modal.addEventListener('animationend', function () {
            modal.classList.remove('show');
            modal.style.display = 'none';
        }, {once: true});
    }
}

// 当文档加载完成时执行以下操作
document.addEventListener('DOMContentLoaded', function () {
    // 获取所有带有 'info-circle' 类的元素
    const infoCircles = document.querySelectorAll('.info-circle');
    // 遍历每个元素
    infoCircles.forEach(circle => {
        // 为每个元素添加点击事件监听器
        circle.addEventListener('click', function () {
            // 获取被点击元素的 'data-modal' 属性值, 即模态框的 ID
            const modalId = this.getAttribute('data-modal');
            // 调用 toggleModal 函数显示对应的模态框
            toggleModal(modalId, 'show');
        });
    });

    // 获取所有带有 'close' 类的元素
    const closeButtons = document.querySelectorAll('.close');
    // 遍历每个元素
    closeButtons.forEach(button => {
        // 为每个元素添加点击事件监听器
        button.addEventListener('click', function () {
            // 获取被点击元素的 'data-modal' 属性值, 即模态框的 ID
            const modalId = this.getAttribute('data-modal');
            // 调用 toggleModal 函数隐藏对应的模态框
            toggleModal(modalId, 'hide');
        });
    });

    // 获取所有带有 'modal' 类的元素
    const modals = document.querySelectorAll('.modal');
    // 遍历每个元素
    modals.forEach(modal => {
        // 为每个模态框添加点击事件监听器
        modal.addEventListener('click', function (event) {
            // 如果点击事件的目标是模态框本身
            if (event.target === modal) {
                // 获取模态框的 ID
                const modalId = modal.getAttribute('id');
                // 调用 toggleModal 函数隐藏对应的模态框
                toggleModal(modalId, 'hide');
            }
        });
    });

    // 处理文件选择和取消选择逻辑
    captureReplacement();
});